package com.qingyouchuxing.mall.biz.domain.vo;

import java.math.BigDecimal;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.mybatisflex.annotation.RelationOneToMany;
import com.mybatisflex.annotation.Table;
import com.qingyouchuxing.mall.biz.domain.bo.MallGoodsSpuBO;
import com.qingyouchuxing.mall.biz.domain.entity.MallGoods;
import com.qingyouchuxing.mall.biz.enums.MallGoodsStatus;
import com.ruoyi.common.excel.annotation.ExcelDictFormat;
import com.ruoyi.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
import java.io.Serializable;
import java.util.List;

import com.ruoyi.common.orm.core.domain.BaseEntity;

/**
 * 商品视图对象 mall_goods
 *
 * @author 数据小王子
 * @date 2024-09-06
 */
@Data
@ExcelIgnoreUnannotated
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = MallGoods.class)
public class MallGoodsVO extends BaseEntity implements Serializable
{

    @Serial
    private static final long serialVersionUID = 1L;

     /** 主键 */
    @ExcelProperty(value = "主键")
    private Long id;

     /** 所属分类 */
    @ExcelProperty(value = "所属分类")
    private Long fkClassifyId;

     /** 商品名称 */
    @ExcelProperty(value = "商品名称")
    private String goodsName;

     /** 价格 */
    @ExcelProperty(value = "价格")
    private BigDecimal price;

     /** 销售价 */
    @ExcelProperty(value = "销售价")
    private BigDecimal salePrice;

    /** 成本 */
    @ExcelProperty(value = "成本")
    private BigDecimal costPrice;

    /** 成本 */
    @ExcelProperty(value = "总库存")
    private Integer count;

     /** 主图地址 */
    @ExcelProperty(value = "主图地址")
    private String image;

     /** 详情页图片 */
    @ExcelProperty(value = "详情页图片")
    private String infoImage;

     /** 运费 */
    @ExcelProperty(value = "运费")
    private BigDecimal freightPrice;

     /** 上下架状态(字典 0:下架  1:上架) */
    @ExcelProperty(value = "上下架状态(字典 0:下架  1:上架)", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "mall_goods_status")
    private MallGoodsStatus status;

     /** 备注 */
    @ExcelProperty(value = "备注")
    private String remark;

     /** 删除标志（0未删除1删除） */
    @ExcelProperty(value = "删除标志（0未删除1删除）")
    private Integer delFlag;

     /** 租户id */
    @ExcelProperty(value = "租户id")
    private Long fkTenantId;

    /** VIP价格 */
    private BigDecimal vipPrice;

    /** 商品描述(包含配料详情) */
    private String desc;

    /** 品牌名称 */
    private String brandName;

    /**
     * spu信息
     */
    @ExcelProperty(value = "spu信息")
    private List<MallGoodsSpuBO> spuList;

}
